package com.bdqn.shequ.modules.sys.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.bdqn.shequ.common.validator.group.AddGroup;
import com.bdqn.shequ.common.validator.group.UpdateGroup;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * 会议室表
 * 
 * @author Mark
 * @email sunlightcs@gmail.com
 * @date 2019-04-17 09:17:24
 */
@Data
@TableName("tc_meeting_room")
public class TcMeetingRoomEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 主键id
	 */
	@TableId
	private Long id;
	/**
	 * 会议中心ID
	 */
	@NotNull(message="会议中心名称不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private Long conventionCenterId;
	/**
	 * 会议中心名称
	 */
	@NotBlank(message="会议中心名称不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String conventionCenterName;
	/**
	 * 会议室名称
	 */
	@NotBlank(message="会议室名称不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String name;
	/**
	 * 会议中心位置
	 */
	private String position;
	/**
	 * 会议中心坐标
	 */
	private String coordinate;
	/**
	 * 会议室容量（人数）
	 */
	@Min(value = 1, message = "会议室容量最小值为1", groups = {AddGroup.class, UpdateGroup.class}) // 最小值1积分
	@Max(value = 9999, message = "会议室容量最大值为9999", groups = {AddGroup.class, UpdateGroup.class}) // 最大值88
	private Integer capacity;
	/**
	 * 会议室硬件配套
	 */
	private String hardWareMemo;
	/**
	 * 会议室描述
	 */
	private String meetingRoomMemo;
	/**
	 * 会议室状态(NORMAL:正常，FORBIDDEN:禁用)
	 */
	@NotBlank(message="会议室状态不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String status;
	/**
	 * 创建时间
	 */
	private Date createTime;
	/**
	 * 修改时间
	 */
	private Date updateTime;
	/**
	 * 备注
	 */
	private String remark;

	public static long getSerialVersionUID() {
		return serialVersionUID;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getConventionCenterId() {
		return conventionCenterId;
	}

	public void setConventionCenterId(Long conventionCenterId) {
		this.conventionCenterId = conventionCenterId;
	}

	public String getConventionCenterName() {
		return conventionCenterName;
	}

	public void setConventionCenterName(String conventionCenterName) {
		this.conventionCenterName = conventionCenterName;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPosition() {
		return position;
	}

	public void setPosition(String position) {
		this.position = position;
	}

	public String getCoordinate() {
		return coordinate;
	}

	public void setCoordinate(String coordinate) {
		this.coordinate = coordinate;
	}

	public Integer getCapacity() {
		return capacity;
	}

	public void setCapacity(Integer capacity) {
		this.capacity = capacity;
	}

	public String getHardWareMemo() {
		return hardWareMemo;
	}

	public void setHardWareMemo(String hardWareMemo) {
		this.hardWareMemo = hardWareMemo;
	}

	public String getMeetingRoomMemo() {
		return meetingRoomMemo;
	}

	public void setMeetingRoomMemo(String meetingRoomMemo) {
		this.meetingRoomMemo = meetingRoomMemo;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}
}
